home *** CD-ROM | disk | FTP | other *** search
/ Mac Cube 4: Multimedia Applications / MacCube Volume 4: Multimedia Applications.iso / Graphics / POV Ray / POVRAY II (68040) / • Read Me + User Guide • next >
Text File  |  1994-03-30  |  8KB  |  218 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14. ___________________________________________________________________
  15.                                                         Pov-Ray (68040)                
  16.                                                            Trigo + loops
  17.       
  18. Hi !
  19.  
  20. First of all some tedious informations:
  21.  
  22. 1)  This POV version is designed specifically for Macintosh 
  23.                                                                              ---------
  24. 2)  Besides, it must be equipped with a 68040 --> NOT a 68040 LC.
  25.                                                              ------
  26.      It will not run on any other platform including 68000, 68020, 68030, 
  27.      PPC, SGI, SUN, Amiga, PC, Commodore and so on...
  28.  
  29. 3)  Please, read the POVLEGAL file included in this package.
  30.  
  31. 4)  This is an unofficial version not supported by the POV-Ray team.
  32.      Any questions concerning this versions must be addressed directly to me
  33.      Do not bother the POV-Ray team with any problem you may encounter
  34.      with this version.
  35.                 --> You can reach me at the following internet address:
  36.                                            nguex@ulys.unil.ch
  37.  
  38. 5)  Where to find the official POV-Ray files ?
  39.      You will find the informations in the file «Where to find official POV»
  40.  
  41. •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
  42. *                                                                                                                              *
  43. *                                 •  WHAT'S NEW, and how to use it  •                                     *
  44. *                                     ---------------------------                                          *
  45. •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••
  46.  
  47. 1) SPEED
  48. =========
  49.  
  50. If you are lucky and posess a 68040 with FPU, you will be able to render
  51. your scenes faster than with the official version. 
  52. The speed boost vary widely from scenes to scenes (3.2% up to 42.3%; average 11.8%)
  53. You will find the timing results for all the scenes included in the official
  54. POV-Ray 2.0 package in the file «Timings».
  55. The major boost are obtained for scenes using Bump Mapping, Spot lights and so on...
  56.  
  57. Warning:
  58. Although I have sucessfully rendered all the scenes provided with the official 
  59. version 2.0 package (ie: all files of Level1, Level2, Level3, Math and Demo) 
  60. Some bugs may remain. If you experience a crash during a scene rendering, 
  61. first of all I am not responsible for any damage or losses of any kind caused by 
  62. the use or misuse of the package; secondly, you may want to send me the scene that
  63. caused a so nasty result so that I can track and kick the bug out of the code.
  64.  
  65. --------------------------------------------------------------------------
  66.  
  67. 2) NEW FEATURES
  68. ================
  69.  
  70. I have added some new features to the parser.
  71. It is now possible to use trigonometric functions 
  72. as well as loops to describe more easily the scenes.
  73. You will find two samples using these new features in this package:
  74.  
  75.   Columns.POV and Helicoidal_Scale.POV
  76.  
  77. You can use them, modify them and include them freely in your scenes,
  78.    BUT : WARNING !
  79. • If you decide to share or post a scene that need any of the new features
  80. • to be rendered, you MUST indicate clearly that this scene was designed
  81. • specifically for my version and that it will request it to be rendered.
  82. • Specify also where users can find my version, and the type of computer
  83. • needed (Macintosh with 68040).
  84. • This is only to insure that regular users will not be confused with some
  85. • scenes that they are unable to render.
  86.  
  87. The next official version of POV-Ray is likely to include such features
  88. (i.e trigo and loops) but as it is not guarantee that it will be my features,
  89. the syntax may vary slightly. Anyway it should not be tricky to
  90. translate (if needed) your scenes to fit the future official version.
  91. If 68020 and 68030 users cannot wait for the next Pov-Ray release to
  92. use maths and loops, I may post an "almost standard speed" version for
  93. those users.
  94.  
  95. A last word before the new features description:
  96. If you decribe a scene that use or do not use my new features or samples...
  97. I am always pleased to see what people can do with POV.
  98. It is not a request, just a suggestion...
  99.  
  100. -----------------------------------
  101. • Syntax of the new maths instructions
  102. -----------------------------------
  103.  
  104.    abs(),  sin(),   cos(),   tan(),   asin(),  acos(),  atan(),  srq(),  sqrt()
  105.  
  106. abs(x)   insure that a number will be positive.      abs(-x)  gives x
  107. sin(a)    a in degrees                                              sin(90) gives 1
  108. asin(x)  result in degrees                                      asin(1)  gives 90
  109. cos(a)    a in degrees                                             cos(90) gives 0
  110. acos(x)  result in degrees                                     acos(0)  gives 90
  111. tan(a)    a in degrees                                             tan(45) gives 1
  112. atan(x)  result in degrees                                     atan(1)  gives 45
  113. sqr(x)    stands for square.                     It will give the same result as   x*x.
  114. sqrt(x)   stands for squared root.           sqrt(9) will give 3.
  115.  
  116. Warning: you must place a + or - sign in front of 
  117. abs(),  sin(),   cos(),   tan(),   asin(),  acos(),  atan(),  srq(),  sqrt()
  118. when used as first member of a  #declare.
  119.  
  120. #declare angle =  atan(x)                WRONG
  121. #declare angle = +atan(x)               RIGHT
  122. #declare angle = -atan(x)               RIGHT 
  123.  
  124. Error messages
  125. --------------
  126. cannot calculate tan(90) !
  127. negative sqrt !
  128. division by zero !
  129.  
  130. -----------------------------------
  131. • Syntax of the other new instructions
  132. -----------------------------------
  133.  
  134.   RANGE const_name min, max    
  135.  
  136. Constraint the value of  «const_name» between «min» and «max».
  137.  
  138. Example
  139. -------
  140. #declare Value = 10
  141. RANGE Value 5,15        nothing happens
  142. RANGE Value 5,7         Value is now 7.
  143.  
  144. Usage
  145. -----
  146. this function can be useful if you make a movie where
  147. several objects are moving along their own path, and
  148. if you want some objects to stop moving before others.
  149.  
  150. Error messages
  151. --------------
  152. RANGE max value must be greater than min value
  153.  
  154. -----------------------------------------------------------------------------
  155.  
  156.    FOR  var_name  < from, to, step >
  157.    ENDFOR
  158.  
  159. Allows to define complex objects more easily using loops 
  160. (for example to carve an object at a repeated distance, 
  161. align trees on a path and so on.)
  162. You can use a negative «step», but remember to set a greater value to «from» than to «to»
  163.  
  164. Examples
  165. --------
  166. See files  «Columns.POV» and «Helicoidal_Scale.POV»
  167. which are included in this package.
  168.  
  169. Error messages
  170. --------------
  171. #declare of a floating constant is not allowed within a loop.
  172. ENDFOR is missing…
  173. ENDFOR found but FOR is missing…
  174. loop var name is missing or already declared…
  175. loop step value must be <> 0 !
  176. FOR imbrication is not allowed…
  177.  
  178. I never had to use loop imbrication to describe a scene,
  179. anyway, if this feature is really lacking, let me know.
  180. Meanwhile, the solution is to define your object in two separate loops.  
  181.  
  182. For example: 
  183.  
  184.             FOR i <-8, 8, 8>
  185.             FOR j <-8, 8, 8>
  186.                object {    sphere { <j , i, 0> 4  }  texture { TheTexture }  }  
  187.             ENDFOR
  188.             ENDFOR
  189.  
  190. should be written something like that:
  191.  
  192.             #declare Three_Spheres =
  193.             union { 
  194.                FOR i <-8, 8, 8>
  195.                  object {    sphere { <i , 0, 0> 4  }  }  
  196.                ENDFOR
  197.                texture { TheTexture }
  198.             }
  199.    
  200.             FOR i <-8, 8, 8>
  201.               object {    Three_Spheres  translate  <0 , i, 0>    }  
  202.             ENDFOR
  203.  
  204. -------------------------------------------------------------
  205.  
  206.                                 DISCLAIMER
  207.  
  208. This software is provided as is without any guarantees or warranty.  
  209. Although I have attempted to find and correct any bugs in the 
  210. package, I am not responsible for any damage or losses of any kind 
  211. caused by the use or misuse of the package.
  212.  
  213. I hope you will enjoy this package anyway !
  214. Nicolas Guex
  215.  
  216. INTERNET: nguex@ulys.unil.ch
  217.  
  218. --------------------------------------------------------------